Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Проверка уникального логина пользователя при регистрации (iluxas)
Author Message
iluxas
Заглянувший



Joined: 29 Apr 2009
Posts: 2
Карма: 2
   поощрить/наказать


PostPosted: Fri May 01, 2009 9:37 am (написано за 3 минуты 56 секунд)
   Post subject: Проверка уникального логина пользователя при регистрации
Reply with quote

Провожу разные опыты и выходит что mysql_query($sql) все время возвращает True при следущей проверке:
Code (php): скопировать код в буфер обмена
$sql = "select * from users where username='".$_POST["name"]."'";
    $result = mysql_query (www.php.net/mysql_query)($sql);
сам код:
Code (php): скопировать код в буфер обмена
if (validate($_POST) == "OK") {
        echo (www.php.net/echo) "<p>Спасибо за регистрацию</p>";

        db_connect();


   $sql = "select * from users where username='".$_POST["name"]."'";
    $result = mysql_query (www.php.net/mysql_query)($sql);
      if ($result) {
        echo (www.php.net/echo) "Пользователь с таким именем уже существует <br .>";
        $sqlAll = "select * from users";
        $resultsAll = mysql_query (www.php.net/mysql_query)($sqlAll);
        } else {

                $sql = "insert into users (username, email, password) values
                  ('"
.$_POST["name"]."', '".$_POST["email"]."',
                  '"
.$passwords[0]."')";
             $result = mysql_query (www.php.net/mysql_query)($sql);
               if ($result){
                      echo (www.php.net/echo) "Данные занесены в базу данных";
                    } else {
                         echo (www.php.net/echo) "Проблема: ".mysql_error();
                         }
       }

        }
Тоесть всегда получается результат: "Пользователь с таким именем уже существует". В чем может быть проблема?
(Это просто пример, учусь)
Добавлю, если меняю на if (!$result) то заносит всех без разбора с одним и тем же логином.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Fri May 01, 2009 2:22 pm (спустя 4 часа 44 минуты; написано за 27 секунд)
   Post subject:
Reply with quote

iluxas
Нужно как минимум применять mysql_num_rows, а ещё лучше -- изучать первую строчку ответа
Back to top
View user's profile Send private message Send e-mail
iluxas
Заглянувший



Joined: 29 Apr 2009
Posts: 2
Карма: 2
   поощрить/наказать


PostPosted: Sat May 02, 2009 6:33 pm (спустя 1 день 4 часа 11 минут; написано за 1 минуту 13 секунд)
   Post subject:
Reply with quote

Юрий Насретдинов

Спасибо, совет помог. Заменил на:
Code (php): скопировать код в буфер обмена
$result = mysql_query (www.php.net/mysql_query)("select * from users where `username` = '".$_POST["name"]."'");
   $num_rows = mysql_num_rows (www.php.net/mysql_num_rows)($result);
      if ($num_rows > 0)
и все заработало.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML